Multi-Protocol Label Switching (MPLS) supports explicit paths, and routes packets through the explicit paths. Explicit paths can be designated by Ingress nodes. The key to implementing MPLS traffic engineering is to select suitable paths to balance the network load, to optimize network resource utilization and traffic performance. For load balancing, sometimes it is necessary to select a long path. These paths are not necessarily minimum-hop paths. Nowadays, the common problem for all path selection schemes is how to make a tradeoff between limiting hop number and load balancing. Current researches reveal that, for traffics that require bandwidth guarantee, the path selection can be divided into two cases based on the network load: when the network load is heavy, priority is given to hops limitation, and when the network load is light, priority is given to load balancing, while the hops limitation becomes a minor factor. However, for “best-effort” traffic, load balance is always beneficial, for balanced load means all available paths can be utilized fully, and the throughput of network can be maximized.
Therefore, tradeoff between hops limitation and load balance (available bandwidth) should be based on network condition and service requirements. However, the conventional methods, e.g., “short-widest”, “widest-shortest” and “shortest-distance”, can only provide static tradeoff. The “shortest-widest” algorithm selects paths by firstly selecting the path(s) having the maximal available bandwidth among all available paths, then selecting the path having the minimal hops, if there are more than one path having the same available bandwidth. The “widest-shortest” algorithm similarly take the available bandwidth into account only when there are more than one path having the same hops. While in the “shortest-distance” algorithm, the tradeoff between hops limitation and load balance is made entirely based on a link cost function. The shortcoming of these method is that the network operators cannot control traffic engineering based on network conditions and service requirements. More important, the administrative policies of the network operators cannot be incorporated into the traffic engineering.